package com.dst.smart.dao.impl;

import java.util.List;

import com.dst.smart.model.ActionParam;
import com.dst.smart.model.Arce;
import com.dst.smart.model.CusDevice;
import com.dst.smart.model.Device;
import com.dst.smart.model.DeviceAction;
import com.dst.smart.model.DeviceFunction;
import com.dst.smart.model.DeviceType;
import com.dst.smart.model.FunctionParam;
import com.dst.smart.model.GateWay;
import com.dst.smart.model.GatewayType;
import com.dst.smart.model.Mode;
import com.dst.smart.model.ModeList;
import com.dst.smart.model.Products;
import com.dst.smart.model.RedInfra;
import com.dst.smart.model.Room;
import com.dst.smart.model.SubscribeInfo;
import com.dst.smart.model.VoiceInfo;

public interface IWidgetDAO {

	public List<GateWay> getGateWay();

	public List<GatewayType> getGateWayType();

	public List<Mode> getMode();

	public List<ModeList> getModeList();

	public List<Room> getRoom();

	public List<VoiceInfo> getVoice();

	public int updateVoice(VoiceInfo voiceInfo);

	public int updateSubscribe(SubscribeInfo subscribeInfo);

	public int insertSubscribe(SubscribeInfo subscribeInfo);

	public List<SubscribeInfo> getSubScribe();

	public List<Device> getDevices();

	public List<DeviceType> getDeviceType();

	public List<DeviceFunction> getDeviceFunction();

	public List<DeviceAction> getDeviceAction();

	public List<ActionParam> getActionParam();

	public List<FunctionParam> getFunctionParam();

	public List<Products> getProducts();

	public List<RedInfra> getInfrareds();

	public List<CusDevice> getCusDevices();

	public List<Device> getModeDevice(int modeById);

	public int insertInfrad(RedInfra infrared);

	public int insertRoom(Room room);

	public int insertDevice(Device device);

	public int insertVoice(VoiceInfo voiceInfo);

	public int insertMode(Mode mode);

	public int insertGateWay(GateWay gateWay);

	public int insertModeList(ModeList modeList);

	public int updateModeList(ModeList modeList);

	public int insertAction(DeviceAction deviceAction);

	public int insetFunction(DeviceFunction deviceFunction);

	public int updateMode(Mode mode, String modeName);

	public int updateDevice(Device device, String oldName);

	public void updateDeviceTypeSort(List<DeviceType> list);

	public int updateGateWay(GateWay gateWay, String gateWayName);

	public void updateModeSort(List<Mode> list);

	public void updateRoomSort(List<Room> list);

	public void updateCusDevice(List<CusDevice> list);

	public int updateIsCurrent(int id, int current);

	public int updateRoom(Room room, String roomName);

	public void updateRoomHide(int homePageDisplays, int id);

	public int deleteGateWay(int Id);

	public int deleteVoice(int Id);
	
	public int deleteSubscribe(int Id);

	public int deleteRoom(int id);

	public int deleteRedFra(int id);

	public int deleteMode(int id);

	public int deleteMode(String modeName);

	public int deleteDevice(String deviceName);
	public int deleteDevice(int Id) ;

	public int deleteModelist(int id);

	public int deleteSyncData(String table);

	public void insertProduct(Products products);
}